home *** CD-ROM | disk | FTP | other *** search
/ ASME's Mechanical Engine…ing Toolkit 1997 December / ASME's Mechanical Engineering Toolkit 1997 December.iso / c_lang / tccurses.lzh / WINERASE.C < prev    next >
C/C++ Source or Header  |  1987-09-07  |  2KB  |  55 lines

  1. /****************************************************************/
  2. /*                                */
  3. /* Erase() routines of the PCcurses package            */
  4. /*                                */
  5. /****************************************************************/
  6. /* This version of curses is based on ncurses, a curses version    */
  7. /* originally written by Pavel Curtis at Cornell University.    */
  8. /* I have made substantial changes to make it run on IBM PC's,    */
  9. /* and therefore consider myself free to make it public domain.    */
  10. /*        Bjorn Larsson (...mcvax!enea!infovax!bl)    */
  11. /****************************************************************/
  12. /* 1.0:    Release:                    870515    */
  13. /****************************************************************/
  14.  
  15. #include <curses.h>
  16. #include <curspriv.h>
  17.  
  18. /****************************************************************/
  19. /* Werase() fills all lines of window 'win' with blanks and po-    */
  20. /* sitions the cursor at home in the scroll region.        */
  21. /****************************************************************/
  22.  
  23. void    werase(win)
  24.   WINDOW    *win;
  25.   {
  26.   int        *end;
  27.   int        *start;
  28.   short         y;
  29.   static   int     blank;
  30.   
  31.   blank = ' ' | (win->_attrs & ATR_MSK);
  32.  
  33.   for (y = win->_regtop; y <= win->_regbottom; y++)    /* clear all lines */
  34.     {
  35.     start = win->_line[y];
  36.     end = &start[win->_maxx];
  37.     while (start <= end)                /* clear all line */
  38.       *start++ = blank;
  39.     win->_minchng[y] = 0;
  40.     win->_maxchng[y] = win->_maxx;
  41.     }
  42.   win->_cury = win->_regtop;                /* cursor home */
  43.   win->_curx = 0;
  44.   } /* werase */
  45.  
  46. /****************************************************************/
  47. /* Erase() fills all lines of stdscr with blanks and positions    */
  48. /* the cursor at home in the scroll region.            */
  49. /****************************************************************/
  50.  
  51. void erase()
  52.   {
  53.   werase(stdscr);
  54.   } /* erase */
  55.